home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef qDebug
- #define qDebug 1
- #endif
-
- #import "DebugFlags.h"
-
- #import <OpenTptModule.h>
-
- #import <dlpi.h>
- #import <tihdr.h>
- #import <mistream.h>
- #import <string.h>
- #import "DLPIUtils.h"
- #import "OTDCon.h"
-
- enum {
- kNoPrimitive = -1
- };
-
- asm void __ptr_glue(void)
- {
- smclass GL
- lwz r0,0(r12)
- stw RTOC,20(SP)
- mtctr r0
- lwz RTOC,4(r12)
- bctr
- }
-
-
- const char *TypeToString( UInt32 type )
- {
- static char typeString[256];
- switch ( type )
- {
- case M_DATA : BlockMoveData( "M_DATA", typeString, strlen( "M_DATA" )+1 ); break;
- case M_PROTO : BlockMoveData( "M_PROTO", typeString, strlen( "M_PROTO" )+1 ); break;
- case M_BREAK : BlockMoveData( "M_BREAK", typeString, strlen( "M_BREAK" )+1 ); break;
- case M_PASSFP : BlockMoveData( "M_PASSFP", typeString, strlen( "M_PASSFP" )+1 ); break;
- case M_SIG : BlockMoveData( "M_SIG", typeString, strlen( "M_SIG" )+1 ); break;
- case M_DELAY : BlockMoveData( "M_DELAY", typeString, strlen( "M_DELAY" )+1 ); break;
- case M_CTL : BlockMoveData( "M_CTL", typeString, strlen( "M_CTL" )+1 ); break;
- case M_IOCTL : BlockMoveData( "M_IOCTL", typeString, strlen( "M_IOCTL" )+1 ); break;
- case M_SETOPTS : BlockMoveData( "M_SETOPTS", typeString, strlen( "M_SETOPTS" )+1 ); break;
- case M_RSE : BlockMoveData( "M_RSE", typeString, strlen( "M_RSE" )+1 ); break;
- case QPCTL : BlockMoveData( "QPCTL", typeString, strlen( "QPCTL" )+1 ); break;
- case M_IOCACK : BlockMoveData( "M_IOCACK", typeString, strlen( "M_IOCACK" )+1 ); break;
- case M_IOCNAK : BlockMoveData( "M_IOCNAK", typeString, strlen( "M_IOCNAK" )+1 ); break;
- case M_PCPROTO : BlockMoveData( "M_PCPROTO", typeString, strlen( "M_PCPROTO" )+1 ); break;
- case M_PCSIG : BlockMoveData( "M_PCSIG", typeString, strlen( "M_PCSIG" )+1 ); break;
- case M_FLUSH : BlockMoveData( "M_FLUSH", typeString, strlen( "M_FLUSH" )+1 ); break;
- case M_STOP : BlockMoveData( "M_STOP", typeString, strlen( "M_STOP" )+1 ); break;
- case M_START : BlockMoveData( "M_START", typeString, strlen( "M_START" )+1 ); break;
- case M_HANGUP : BlockMoveData( "M_HANGUP", typeString, strlen( "M_HANGUP" )+1 ); break;
- case M_ERROR : BlockMoveData( "M_ERROR", typeString, strlen( "M_ERROR" )+1 ); break;
- case M_READ : BlockMoveData( "M_READ", typeString, strlen( "M_READ" )+1 ); break;
- case M_COPYIN : BlockMoveData( "M_COPYIN", typeString, strlen( "M_COPYIN" )+1 ); break;
- case M_COPYOUT : BlockMoveData( "M_COPYOUT", typeString, strlen( "M_COPYOUT" )+1 ); break;
- case M_IOCDATA : BlockMoveData( "M_IOCDATA", typeString, strlen( "M_IOCDATA" )+1 ); break;
- case M_PCRSE : BlockMoveData( "M_PCRSE", typeString, strlen( "M_PCRSE" )+1 ); break;
- case M_STOPI : BlockMoveData( "M_STOPI", typeString, strlen( "M_STOPI" )+1 ); break;
- case M_STARTI : BlockMoveData( "M_STARTI", typeString, strlen( "M_STARTI" )+1 ); break;
- case M_HPDATA : BlockMoveData( "M_HPDATAM_HPDATA", typeString, strlen( "M_HPDATA" )+1 ); break;
- default:
- BlockMoveData( "Unknown type", typeString, strlen( "Unknown type " )+1 );
- break;
- }
- return typeString;
- }
-
- const char *ErrorAckCodeToString( UInt32 code )
- {
- static char errorString[255];
-
- switch ( code )
- {
- case DL_ACCESS : BlockMoveData( "DL_ACCESS", errorString, strlen( "DL_ACCESS" )+1 ); break;
- case DL_BADADDR : BlockMoveData( "DL_BADADDR", errorString, strlen( "DL_BADADDR" )+1 ); break;
- case DL_BADCORR : BlockMoveData( "DL_BADCORR", errorString, strlen( "DL_BADCORR" )+1 ); break;
- case DL_BADDATA : BlockMoveData( "DL_BADDATA", errorString, strlen( "DL_BADDATA" )+1 ); break;
- case DL_BADPPA : BlockMoveData( "DL_BADPPA", errorString, strlen( "DL_BADPPA" )+1 ); break;
- case DL_BADPRIM : BlockMoveData( "DL_BADPRIM", errorString, strlen( "DL_BADPRIM" )+1 ); break;
- case DL_BADQOSPARAM : BlockMoveData( "DL_BADQOSPARAM", errorString, strlen( "DL_BADQOSPARAM" )+1 ); break;
- case DL_BADQOSTYPE : BlockMoveData( "DL_BADQOSTYPE", errorString, strlen( "DL_BADQOSTYPE" )+1 ); break;
- case DL_BADSAP : BlockMoveData( "DL_BADSAP", errorString, strlen( "DL_BADSAP" )+1 ); break;
- case DL_BADTOKEN : BlockMoveData( "DL_BADTOKEN", errorString, strlen( "DL_BADTOKEN" )+1 ); break;
- case DL_BOUND : BlockMoveData( "DL_BOUND", errorString, strlen( "DL_BOUND" )+1 ); break;
- case DL_INITFAILED : BlockMoveData( "DL_INITFAILED", errorString, strlen( "DL_INITFAILED" )+1 ); break;
- case DL_NOADDR : BlockMoveData( "DL_NOADDRDL_NOADDR", errorString, strlen( "DL_INFO_REQ" )+1 ); break;
- case DL_NOTINIT : BlockMoveData( "DL_NOTINIT", errorString, strlen( "DL_NOTINIT" )+1 ); break;
- case DL_OUTSTATE : BlockMoveData( "DL_OUTSTATE", errorString, strlen( "DL_OUTSTATE" )+1 ); break;
- case DL_SYSERR : BlockMoveData( "DL_SYSERR", errorString, strlen( "DL_SYSERR" )+1 ); break;
- case DL_UNSUPPORTED : BlockMoveData( "DL_UNSUPPORTED", errorString, strlen( "DL_UNSUPPORTED" )+1 ); break;
- case DL_UNDELIVERABLE : BlockMoveData( "DL_UNDELIVERABLE", errorString, strlen( "DL_UNDELIVERABLE" )+1 ); break;
- case DL_NOTSUPPORTED : BlockMoveData( "DL_NOTSUPPORTED", errorString, strlen( "DL_NOTSUPPORTED" )+1 ); break;
- case DL_TOOMANY : BlockMoveData( "DL_TOOMANY", errorString, strlen( "DL_TOOMANY" )+1 ); break;
- case DL_NOTENAB : BlockMoveData( "DL_NOTENAB", errorString, strlen( "DL_NOTENAB" )+1 ); break;
- case DL_BUSY : BlockMoveData( "DL_BUSY", errorString, strlen( "DL_BUSY" )+1 ); break;
- case DL_NOAUTO : BlockMoveData( "DL_NOAUTO", errorString, strlen( "DL_NOAUTO" )+1 ); break;
- case DL_NOXIDAUTO : BlockMoveData( "DL_NOXIDAUTO", errorString, strlen( "DL_NOXIDAUTO" )+1 ); break;
- case DL_NOTESTAUTO : BlockMoveData( "DL_NOTESTAUTO", errorString, strlen( "DL_NOTESTAUTO" )+1 ); break;
- case DL_XIDAUTO : BlockMoveData( "DL_XIDAUTO", errorString, strlen( "DL_XIDAUTO" )+1 ); break;
- case DL_TESTAUTO : BlockMoveData( "DL_TESTAUTO", errorString, strlen( "DL_TESTAUTO" )+1 ); break;
- case DL_PENDING : BlockMoveData( "DL_PENDING", errorString, strlen( "DL_PENDING" )+1 ); break;
- }
- return errorString;
- }
-
- const char *PrimitiveToString( UInt32 primitive )
- {
- static char primitiveString[256];
-
- switch ( primitive )
- {
- case DL_INFO_REQ : BlockMoveData( "DL_INFO_REQ", primitiveString, strlen( "DL_INFO_REQ" )+1 ); break;
- case DL_INFO_ACK : BlockMoveData( "DL_INFO_ACK", primitiveString, strlen( "DL_INFO_ACK" )+1 ); break;
- case DL_ATTACH_REQ : BlockMoveData( "DL_ATTACH_REQ", primitiveString, strlen( "DL_ATTACH_REQ" )+1 ); break;
- case DL_DETACH_REQ : BlockMoveData( "DL_DETACH_REQ", primitiveString, strlen( "DL_DETACH_REQ" )+1 ); break;
- case DL_BIND_REQ : BlockMoveData( "DL_BIND_REQ", primitiveString, strlen( "DL_BIND_REQ" )+1 ); break;
- case DL_BIND_ACK : BlockMoveData( "DL_BIND_ACK", primitiveString, strlen( "DL_BIND_ACK" )+1 ); break;
- case DL_UNBIND_REQ : BlockMoveData( "DL_UNBIND_REQ", primitiveString, strlen( "DL_UNBIND_REQ" )+1 ); break;
- case DL_OK_ACK : BlockMoveData( "DL_OK_ACK", primitiveString, strlen( "DL_OK_ACK" )+1 ); break;
- case DL_ERROR_ACK : BlockMoveData( "DL_ERROR_ACK", primitiveString, strlen( "DL_ERROR_ACK" )+1 ); break;
- case DL_SUBS_BIND_REQ : BlockMoveData( "DL_SUBS_BIND_REQ", primitiveString, strlen( "DL_SUBS_BIND_REQ" )+1 ); break;
- case DL_SUBS_BIND_ACK : BlockMoveData( "DL_SUBS_BIND_ACK", primitiveString, strlen( "DL_SUBS_BIND_ACK" )+1 ); break;
- case DL_SUBS_UNBIND_REQ : BlockMoveData( "DL_SUBS_UNBIND_REQ", primitiveString, strlen( "DL_SUBS_UNBIND_REQ" )+1 ); break;
- case DL_ENABMULTI_REQ : BlockMoveData( "DL_ENABMULTI_REQ", primitiveString, strlen( "DL_ENABMULTI_REQ" )+1 ); break;
- case DL_DISABMULTI_REQ : BlockMoveData( "DL_DISABMULTI_REQ", primitiveString, strlen( "DL_DISABMULTI_REQ" )+1 ); break;
- case DL_PROMISCON_REQ : BlockMoveData( "DL_PROMISCON_REQ", primitiveString, strlen( "DL_PROMISCON_REQ" )+1 ); break;
- case DL_PROMISCOFF_REQ : BlockMoveData( "DL_PROMISCOFF_REQ", primitiveString, strlen( "DL_PROMISCOFF_REQ" )+1 ); break;
-
- /*
- * Primitives used for Connectionless Service
- */
- case DL_UNITDATA_REQ : BlockMoveData( "DL_UNITDATA_REQ", primitiveString, strlen( "DL_UNITDATA_REQ" )+1 ); break;
- case DL_UNITDATA_IND : BlockMoveData( "DL_UNITDATA_IND", primitiveString, strlen( "DL_UNITDATA_IND" )+1 ); break;
- case DL_UDERROR_IND : BlockMoveData( "DL_UDERROR_IND", primitiveString, strlen( "DL_UDERROR_IND" )+1 ); break;
- case DL_UDQOS_REQ : BlockMoveData( "DL_UDQOS_REQ", primitiveString, strlen( "DL_UDQOS_REQ" )+1 ); break;
-
- /*
- * Primitives used for Connection-Oriented Service
- */
- case DL_CONNECT_REQ : BlockMoveData( "DL_CONNECT_REQ", primitiveString, strlen( "DL_CONNECT_REQ" )+1 ); break;
- case DL_CONNECT_IND : BlockMoveData( "DL_CONNECT_IND", primitiveString, strlen( "DL_CONNECT_IND" )+1 ); break;
- case DL_CONNECT_RES : BlockMoveData( "DL_CONNECT_RES", primitiveString, strlen( "DL_CONNECT_RES" )+1 ); break;
- case DL_CONNECT_CON : BlockMoveData( "DL_CONNECT_RES", primitiveString, strlen( "DL_CONNECT_RES" )+1 ); break;
-
- case DL_TOKEN_REQ : BlockMoveData( "DL_TOKEN_REQ", primitiveString, strlen( "DL_TOKEN_REQ" )+1 ); break;
- case DL_TOKEN_ACK : BlockMoveData( "DL_TOKEN_ACK", primitiveString, strlen( "DL_TOKEN_ACK" )+1 ); break;
-
- case DL_DISCONNECT_REQ : BlockMoveData( "DL_DISCONNECT_REQ", primitiveString, strlen( "DL_DISCONNECT_REQ" )+1 ); break;
- case DL_DISCONNECT_IND : BlockMoveData( "DL_DISCONNECT_IND", primitiveString, strlen( "DL_DISCONNECT_IND" )+1 ); break;
-
- case DL_RESET_REQ : BlockMoveData( "DL_RESET_REQ", primitiveString, strlen( "DL_RESET_REQ" )+1 ); break;
- case DL_RESET_IND : BlockMoveData( "DL_RESET_IND", primitiveString, strlen( "DL_RESET_IND" )+1 ); break;
- case DL_RESET_RES : BlockMoveData( "DL_RESET_RES", primitiveString, strlen( "DL_RESET_RES" )+1 ); break;
- case DL_RESET_CON : BlockMoveData( "DL_RESET_CON", primitiveString, strlen( "DL_RESET_CON" )+1 ); break;
-
- /*
- * Primitives used for Acknowledged Connectionless Service
- */
-
- case DL_DATA_ACK_REQ : BlockMoveData( "DL_DATA_ACK_REQ", primitiveString, strlen( "DL_DATA_ACK_REQ" )+1 ); break;
- case DL_DATA_ACK_IND : BlockMoveData( "DL_DATA_ACK_IND", primitiveString, strlen( "DL_DATA_ACK_IND" )+1 ); break;
- case DL_DATA_ACK_STATUS_IND : BlockMoveData( "DL_DATA_ACK_STATUS_IND", primitiveString, strlen( "DL_DATA_ACK_STATUS_IND" )+1 ); break;
- case DL_REPLY_REQ : BlockMoveData( "DL_REPLY_REQ", primitiveString, strlen( "DL_REPLY_REQ" )+1 ); break;
- case DL_REPLY_IND : BlockMoveData( "DL_REPLY_IND", primitiveString, strlen( "DL_REPLY_IND" )+1 ); break;
- case DL_REPLY_STATUS_IND : BlockMoveData( "DL_REPLY_STATUS_IND", primitiveString, strlen( "DL_REPLY_STATUS_IND" )+1 ); break;
- case DL_REPLY_UPDATE_REQ : BlockMoveData( "DL_REPLY_UPDATE_REQ", primitiveString, strlen( "DL_REPLY_UPDATE_REQ" )+1 ); break;
- case DL_REPLY_UPDATE_STATUS_IND : BlockMoveData( "DL_REPLY_UPDATE_STATUS_IND", primitiveString, strlen( "DL_REPLY_UPDATE_STATUS_IND" )+1 ); break;
-
- /*
- * Primitives used for XID and TEST operations
- */
-
- case DL_XID_REQ : BlockMoveData( "DL_XID_REQ", primitiveString, strlen( "DL_XID_REQ" )+1 ); break;
- case DL_XID_IND : BlockMoveData( "DL_XID_IND", primitiveString, strlen( "DL_XID_IND" )+1 ); break;
- case DL_XID_RES : BlockMoveData( "DL_XID_RES", primitiveString, strlen( "DL_XID_RES" )+1 ); break;
- case DL_XID_CON : BlockMoveData( "DL_XID_CON", primitiveString, strlen( "DL_XID_CON" )+1 ); break;
- case DL_TEST_REQ : BlockMoveData( "DL_TEST_REQ", primitiveString, strlen( "DL_TEST_REQ" )+1 ); break;
- case DL_TEST_IND : BlockMoveData( "DL_TEST_IND", primitiveString, strlen( "DL_TEST_IND" )+1 ); break;
- case DL_TEST_RES : BlockMoveData( "DL_TEST_RES", primitiveString, strlen( "DL_TEST_RES" )+1 ); break;
- case DL_TEST_CON : BlockMoveData( "DL_TEST_CON", primitiveString, strlen( "DL_TEST_CON" )+1 ); break;
-
- /*
- * Primitives to get and set the physical address, and to get
- * Statistics
- */
-
- case DL_PHYS_ADDR_REQ : BlockMoveData( "DL_PHYS_ADDR_REQ", primitiveString, strlen( "DL_PHYS_ADDR_REQ" )+1 ); break;
- case DL_PHYS_ADDR_ACK : BlockMoveData( "DL_PHYS_ADDR_ACK", primitiveString, strlen( "DL_PHYS_ADDR_ACK" )+1 ); break;
- case DL_SET_PHYS_ADDR_REQ : BlockMoveData( "DL_SET_PHYS_ADDR_REQ", primitiveString, strlen( "DL_SET_PHYS_ADDR_REQ" )+1 ); break;
- case DL_GET_STATISTICS_REQ : BlockMoveData( "DL_GET_STATISTICS_REQ", primitiveString, strlen( "DL_GET_STATISTICS_REQ" )+1 ); break;
- case DL_GET_STATISTICS_ACK : BlockMoveData( "DL_GET_STATISTICS_ACK", primitiveString, strlen( "DL_GET_STATISTICS_ACK" )+1 ); break;
-
- /*
- TPI primitives. I don't know why we are getting them, but we are.
- */
- /* User generated requests */
- case T_BIND_REQ : BlockMoveData( "T_BIND_REQ", primitiveString, strlen( "T_BIND_REQ" )+1 ); break;
- case T_CONN_REQ : BlockMoveData( "T_CONN_REQ", primitiveString, strlen( "T_CONN_REQ" )+1 ); break;
- case T_CONN_RES : BlockMoveData( "T_CONN_RES", primitiveString, strlen( "T_CONN_RES" )+1 ); break;
- case T_DATA_REQ : BlockMoveData( "T_DATA_REQ", primitiveString, strlen( "T_DATA_REQ" )+1 ); break;
- case T_DISCON_REQ : BlockMoveData( "T_DISCON_REQ", primitiveString, strlen( "T_DISCON_REQ" )+1 ); break;
- case T_EXDATA_REQ : BlockMoveData( "T_EXDATA_REQ", primitiveString, strlen( "T_EXDATA_REQ" )+1 ); break;
- case T_INFO_REQ : BlockMoveData( "T_INFO_REQ", primitiveString, strlen( "T_INFO_REQ" )+1 ); break;
- case T_OPTMGMT_REQ : BlockMoveData( "T_OPTMGMT_REQ", primitiveString, strlen( "T_OPTMGMT_REQ" )+1 ); break;
- case T_ORDREL_REQ : BlockMoveData( "T_ORDREL_REQ", primitiveString, strlen( "T_ORDREL_REQ" )+1 ); break;
- case T_UNBIND_REQ : BlockMoveData( "T_UNBIND_REQ", primitiveString, strlen( "T_UNBIND_REQ" )+1 ); break;
- case T_UNITDATA_REQ : BlockMoveData( "T_UNITDATA_REQ", primitiveString, strlen( "T_UNITDATA_REQ" )+1 ); break;
- case T_ADDR_REQ : BlockMoveData( "T_ADDR_REQ", primitiveString, strlen( "T_ADDR_REQ" )+1 ); break; /* Get address request */
- case T_UREQUEST_REQ : BlockMoveData( "T_UREQUEST_REQ", primitiveString, strlen( "T_UREQUEST_REQ" )+1 ); break;
- case T_REQUEST_REQ : BlockMoveData( "T_REQUEST_REQ", primitiveString, strlen( "T_REQUEST_REQ" )+1 ); break;
- case T_UREPLY_REQ : BlockMoveData( "T_UREPLY_REQ", primitiveString, strlen( "T_UREPLY_REQ" )+1 ); break;
- case T_REPLY_REQ : BlockMoveData( "T_REPLY_REQ", primitiveString, strlen( "T_REPLY_REQ" )+1 ); break;
- case T_CANCELREQUEST_REQ : BlockMoveData( "T_CANCELREQUEST_REQ", primitiveString, strlen( "T_CANCELREQUEST_REQ" )+1 ); break;
- case T_CANCELREPLY_REQ : BlockMoveData( "T_CANCELREPLY_REQ", primitiveString, strlen( "T_CANCELREPLY_REQ" )+1 ); break;
- case T_REGNAME_REQ : BlockMoveData( "T_REGNAME_REQ", primitiveString, strlen( "T_REGNAME_REQ" )+1 ); break;
- case T_DELNAME_REQ : BlockMoveData( "T_DELNAME_REQ", primitiveString, strlen( "T_DELNAME_REQ" )+1 ); break;
- case T_LKUPNAME_REQ : BlockMoveData( "T_LKUPNAME_REQ", primitiveString, strlen( "T_LKUPNAME_REQ" )+1 ); break;
-
- /* Transport generated indications and acknowledgements */
- case T_BIND_ACK : BlockMoveData( "T_BIND_ACK", primitiveString, strlen( "T_BIND_ACK" )+1 ); break;
- case T_CONN_CON : BlockMoveData( "T_CONN_CON", primitiveString, strlen( "T_CONN_CON" )+1 ); break;
- case T_CONN_IND : BlockMoveData( "T_CONN_IND", primitiveString, strlen( "T_CONN_IND" )+1 ); break;
- case T_DATA_IND : BlockMoveData( "T_DATA_IND", primitiveString, strlen( "T_DATA_IND" )+1 ); break;
- case T_DISCON_IND : BlockMoveData( "T_DISCON_IND", primitiveString, strlen( "T_DISCON_IND" )+1 ); break;
- case T_ERROR_ACK : BlockMoveData( "T_ERROR_ACK", primitiveString, strlen( "T_ERROR_ACK" )+1 ); break;
- case T_EXDATA_IND : BlockMoveData( "T_EXDATA_IND", primitiveString, strlen( "T_EXDATA_IND" )+1 ); break;
- case T_INFO_ACK : BlockMoveData( "T_INFO_ACK", primitiveString, strlen( "T_INFO_ACK" )+1 ); break;
- case T_OK_ACK : BlockMoveData( "T_OK_ACK", primitiveString, strlen( "T_OK_ACK" )+1 ); break;
- case T_OPTMGMT_ACK : BlockMoveData( "T_OPTMGMT_ACK", primitiveString, strlen( "T_OPTMGMT_ACK" )+1 ); break;
- case T_ORDREL_IND : BlockMoveData( "T_ORDREL_IND", primitiveString, strlen( "T_ORDREL_IND" )+1 ); break;
- case T_UNITDATA_IND : BlockMoveData( "T_UNITDATA_IND", primitiveString, strlen( "T_UNITDATA_IND" )+1 ); break;
- case T_UDERROR_IND : BlockMoveData( "T_UDERROR_IND", primitiveString, strlen( "T_UDERROR_IND" )+1 ); break;
- case T_ADDR_ACK : BlockMoveData( "T_ADDR_ACK", primitiveString, strlen( "T_ADDR_ACK" )+1 ); break;
- case T_UREQUEST_IND : BlockMoveData( "T_UREQUEST_IND", primitiveString, strlen( "T_UREQUEST_IND" )+1 ); break;
- case T_REQUEST_IND : BlockMoveData( "T_REQUEST_IND", primitiveString, strlen( "T_REQUEST_IND" )+1 ); break;
- case T_UREPLY_IND : BlockMoveData( "T_UREPLY_IND", primitiveString, strlen( "T_UREPLY_IND" )+1 ); break;
- case T_REPLY_IND : BlockMoveData( "T_REPLY_IND", primitiveString, strlen( "T_REPLY_IND" )+1 ); break;
- case T_UREPLY_ACK : BlockMoveData( "T_UREPLY_ACK", primitiveString, strlen( "T_UREPLY_ACK" )+1 ); break;
- case T_REPLY_ACK : BlockMoveData( "T_REPLY_ACK", primitiveString, strlen( "T_REPLY_ACK" )+1 ); break;
- case T_RESOLVEADDR_REQ : BlockMoveData( "T_RESOLVEADDR_REQ", primitiveString, strlen( "T_RESOLVEADDR_REQ" )+1 ); break;
- case T_RESOLVEADDR_ACK : BlockMoveData( "T_RESOLVEADDR_ACK", primitiveString, strlen( "T_RESOLVEADDR_ACK" )+1 ); break;
-
- case T_LKUPNAME_CON : BlockMoveData( "T_LKUPNAME_CON", primitiveString, strlen( "T_LKUPNAME_CON" )+1 ); break;
- case T_LKUPNAME_RES : BlockMoveData( "T_LKUPNAME_RES", primitiveString, strlen( "T_LKUPNAME_RES" )+1 ); break;
- case T_REGNAME_ACK : BlockMoveData( "T_REGNAME_ACK", primitiveString, strlen( "T_REGNAME_ACK" )+1 ); break;
- case T_SEQUENCED_ACK : BlockMoveData( "T_SEQUENCED_ACK", primitiveString, strlen( "T_SEQUENCED_ACK" )+1 ); break;
-
- case T_EVENT_IND : BlockMoveData( "T_EVENT_IND", primitiveString, strlen( "T_EVENT_IND" )+1 ); break;
-
- default:
- BlockMoveData( "Unknown DPLI/TPI code", primitiveString, strlen( "Unknown DPLI/TPI code" )+1 );
- break;
- }
- return primitiveString;
- }
-
- #define DumpAtOffset( packet, offset, length ) \
- do {\
- if ( ((offset) > 0) && ((offset) < 0xffff) ) \
- dprintmem( ((char *)packet) + (offset), (length) ); \
- } while(0) \
-
- void
- DLPIDump_DL_INFO_ACK(dl_info_ack_t *ack)
- {
- dprintf( "dl_maxsdu = %d\n", ack->dl_max_sdu); /* Max bytes in a DLSDU */
- dprintf( "dl_min_sdu = %d\n", ack->dl_min_sdu); /* Min bytes in a DLSDU */
- dprintf( "dl_addr_length = %d\n", ack->dl_addr_length); /* length of DLSAP address */
- dprintf( "dl_mac_type = %d\n", ack->dl_mac_type); /* type of medium supported*/
- dprintf( "dl_reserved = %d\n", ack->dl_reserved); /* value set to zero */
- dprintf( "dl_current_state = %d\n", ack->dl_current_state); /* state of DLPI interface */
- dprintf( "dl_sap_length = %d\n", ack->dl_sap_length); /* current length of SAP part of
- dlsap address */
- dprintf( "dl_service_mode = %d\n", ack->dl_service_mode); /* CO, CL or ACL */
-
- dprintf( "dl_qos_length = %d\n", ack->dl_qos_length); /* length of qos values */
- dprintf( "dl_qos_offset = %d\n", ack->dl_qos_offset); /* offset from beg. of block*/
- DumpAtOffset( ack, ack->dl_qos_offset, ack->dl_qos_length );
-
- dprintf( "dl_qos_range_length = %d\n", ack->dl_qos_range_length); /* available range of qos */
- dprintf( "dl_qos_range_offset = %d\n", ack->dl_qos_range_offset); /* offset from beg. of block*/
- DumpAtOffset( ack, ack->dl_qos_range_offset, ack->dl_qos_range_length );
-
- dprintf( "dl_provider_style = %d\n", ack->dl_provider_style); /* style1 or style2 */
- dprintf( "dl_addr_offset = %d\n", ack->dl_addr_offset); /* offset of the dlsap addr */
- DumpAtOffset( ack, ack->dl_addr_offset, ack->dl_addr_length );
- dprintf( "dl_version = %d\n", ack->dl_version); /* version number */
-
- dprintf( "dl_brdcst_addr_length = %d\n", ack->dl_brdcst_addr_length); /* length of broadcast addr */
- dprintf( "dl_brdcst_addr_offset = %d\n", ack->dl_brdcst_addr_offset); /* offset from beg. of block*/
- DumpAtOffset( ack, ack->dl_brdcst_addr_offset, ack->dl_brdcst_addr_length );
-
- dprintf( "dl_growth = %d\n", ack->dl_growth); /* set to zero */
-
- }
-
- void
- DLPIDump_DL_BIND_REQ(dl_bind_req_t *req)
- {
- dprintf( "dl_sap = %d\n", req->dl_sap); /* info to identify dlsap addr*/
- dprintf( "dl_max_conind = %d\n", req->dl_max_conind); /* max # of outstanding con_ind*/
- dprintf( "dl_service_mode = %d\n", req->dl_service_mode); /* CO, CL or ACL */
- dprintf( "dl_conn_mgmt = %d\n", req->dl_conn_mgmt); /* if non-zero, is con-mgmt stream*/
- dprintf( "dl_xidtest_flg = %d\n", req->dl_xidtest_flg); /* if set to 1 indicates automatic
- initiation of test and xid frames */
- }
-
- void
- DLPIDump_DL_BIND_ACK(dl_bind_ack_t *ack)
- {
- dprintf( "dl_sap = %d\n", ack-> dl_sap); /* DLSAP addr info */
- dprintf( "dl_addr_length = %d\n", ack-> dl_addr_length); /* length of complete DLSAP addr */
- dprintf( "dl_addr_offset = %d\n", ack-> dl_addr_offset); /* offset from beginning of M_PCPROTO*/
- DumpAtOffset( ack, ack->dl_addr_offset, ack->dl_addr_length );
-
- dprintf( "dl_max_conind = %d\n", ack-> dl_max_conind); /* allowed max. # of con-ind */
- dprintf( "dl_xidtest_flg = %d\n", ack-> dl_xidtest_flg); /* responses supported by provider*/
- }
-
-
- void
- DLPIDump_DL_SUBS_BIND_REQ(dl_subs_bind_req_t *req)
- {
- dprintf( "dl_subs_sap_offset = %d\n", req->dl_subs_sap_offset);
- dprintf( "dl_subs_sap_length = %d\n", req->dl_subs_sap_length);
- DumpAtOffset( req, req->dl_subs_sap_offset, req->dl_subs_sap_length );
-
- dprintf( "dl_subs_bind_class = %d\n", req->dl_subs_bind_class);
- }
-
- void
- DLPIDump_DL_SUBS_BIND_ACK(dl_subs_bind_ack_t *ack)
- {
- dprintf( "dl_subs_sap_offset = %d\n", ack-> dl_subs_sap_offset); /* length of complete DLSAP addr */
- dprintf( "dl_subs_sap_length = %d\n", ack-> dl_subs_sap_length); /* offset from beginning of M_PCPROTO*/
- DumpAtOffset( ack, ack->dl_subs_sap_offset, ack->dl_subs_sap_length );
- }
-
- void
- DLPIDump_DL_SUBS_UNBIND_REQ(dl_subs_unbind_req_t *ack)
- {
- dprintf( "dl_subs_sap_offset = %d\n", ack-> dl_subs_sap_offset); /* length of complete DLSAP addr */
- dprintf( "dl_subs_sap_length = %d\n", ack-> dl_subs_sap_length); /* offset from beginning of M_PCPROTO*/
- DumpAtOffset( ack, ack->dl_subs_sap_offset, ack->dl_subs_sap_length );
- }
-
-
-
- void
- DLPIDump_DL_OK_ACK(dl_ok_ack_t *ack)
- {
- dprintf( "dl_correct_primitive = %d\n", ack-> dl_correct_primitive);
- }
-
- void
- DLPIDump_DL_ENABMULTI_REQ(dl_enabmulti_req_t *ack)
- {
- dprintf( "dl_addr_length = %d\n", ack-> dl_addr_length);
- dprintf( "dl_addr_offset = %d\n", ack-> dl_addr_offset);
- DumpAtOffset( ack, ack->dl_addr_offset, ack->dl_addr_length );
- }
-
- static void
- DLPIDump_dl_priority_t( dl_priority_t *priority )
- {
- dprintf( "priority dl_min = %d\n", priority-> dl_min);
- dprintf( "priority dl_max = %d\n", priority-> dl_max);
- }
-
- void
- DLPIDump_DL_UNITDATA_REQ(dl_unitdata_req_t *ack)
- {
- dprintf( "dl_dest_addr_length = %d\n", ack-> dl_dest_addr_length);
- dprintf( "dl_dest_addr_offset = %d\n", ack-> dl_dest_addr_offset);
- DumpAtOffset( ack, ack->dl_dest_addr_offset, ack->dl_dest_addr_length );
-
- DLPIDump_dl_priority_t( &ack->dl_priority );
- }
-
- void
- DLPIDump_DL_UNITDATA_IND(dl_unitdata_ind_t *ack)
- {
- dprintf( "dl_dest_addr_length = %d\n", ack-> dl_dest_addr_length);
- dprintf( "dl_dest_addr_offset = %d\n", ack-> dl_dest_addr_offset);
- DumpAtOffset( ack, ack->dl_dest_addr_offset, ack->dl_dest_addr_length );
-
- dprintf( "dl_src_addr_length = %d\n", ack-> dl_src_addr_length);
- dprintf( "dl_src_addr_offset = %d\n", ack-> dl_src_addr_offset);
- DumpAtOffset( ack, ack->dl_src_addr_offset, ack->dl_src_addr_length );
-
- dprintf( "dl_group_address = %d\n", ack-> dl_group_address);
- }
-
-
- void
- DLPIDump_DL_ERROR_ACK(dl_error_ack_t *ack)
- {
- dprintf( "dl_error_primitive = %s(%d)\n",
- PrimitiveToString(ack-> dl_error_primitive),
- ack-> dl_error_primitive);
- dprintf( "dl_errno = %s(%d)\n",
- ErrorAckCodeToString(ack-> dl_errno),
- ack-> dl_errno);
- dprintf( "dl_unix_errno = %d\n", ack-> dl_unix_errno);
- }
-
- void
- TIDump_T_INFO_ACK(T_info_ack *ack)
- {
- dprintf( "TSDU_size = %d\n", ack->TSDU_size); /* max TSDU size */
- dprintf( "ETSDU_size = %d\n", ack->ETSDU_size); /* max ETSDU size */
- dprintf( "CDATA_size = %d\n", ack->CDATA_size); /* connect data size */
- dprintf( "DDATA_size = %d\n", ack->DDATA_size); /* disconnect data size */
- dprintf( "ADDR_size = %d\n", ack->ADDR_size); /* TSAP size */
- dprintf( "OPT_size = %d\n", ack->OPT_size); /* options size */
- dprintf( "TIDU_size = %d\n", ack->TIDU_size); /* TIDU size */
- dprintf( "SERV_type = %d\n", ack->SERV_type); /* service type */
- dprintf( "CURRENT_state = %d\n", ack->CURRENT_state); /* current state */
- dprintf( "PROVIDER_flag = %d\n", ack->PROVIDER_flag); /* provider flags (see xti.h for defines) */
- }
-
- void
- TIDump_T_BIND_REQ(T_bind_req *ack)
- {
- dprintf( "ADDR_length = %d\n", ack->ADDR_length); /* */
- dprintf( "ADDR_offset = %d\n", ack->ADDR_offset); /* */
- DumpAtOffset( ack, ack->ADDR_offset, ack->ADDR_length );
- }
-
- void
- TIDump_T_BIND_ACK(T_bind_ack *ack)
- {
- dprintf( "ADDR_length = %d\n", ack->ADDR_length); /* */
- dprintf( "ADDR_offset = %d\n", ack->ADDR_offset); /* */
- DumpAtOffset( ack, ack->ADDR_offset, ack->ADDR_length );
- }
-
- void
- TIDump_T_CONN_CON(T_conn_con *ack)
- {
- dprintf( "RES_length = %d\n", ack->RES_length); /* */
- dprintf( "RES_length = %d\n", ack->RES_length); /* */
- DumpAtOffset( ack, ack->RES_offset, ack->RES_length );
-
- dprintf( "OPT_length = %d\n", ack->OPT_length); /* */
- dprintf( "OPT_offset = %d\n", ack->OPT_offset); /* */
- DumpAtOffset( ack, ack->OPT_offset, ack->OPT_length );
- }
-
- void
- TIDump_T_CONN_IND(T_conn_ind *ack)
- {
- dprintf( "SRC_length = %d\n", ack->SRC_length); /* */
- dprintf( "SRC_offset = %d\n", ack->SRC_offset); /* */
- DumpAtOffset( ack, ack->SRC_offset, ack->SRC_length );
-
-
- dprintf( "OPT_length = %d\n", ack->OPT_length); /* */
- dprintf( "OPT_offset = %d\n", ack->OPT_offset); /* */
- DumpAtOffset( ack, ack->OPT_offset, ack->OPT_length );
- }
-
- void
- TIDump_T_CONN_REQ(T_conn_req *ack)
- {
- dprintf( "DEST_length = %d\n", ack->DEST_length); /* */
- dprintf( "DEST_offset = %d\n", ack->DEST_offset); /* */
- DumpAtOffset( ack, ack->DEST_offset, ack->DEST_length );
-
- dprintf( "OPT_length = %d\n", ack->OPT_length); /* */
- dprintf( "OPT_offset = %d\n", ack->OPT_offset); /* */
- DumpAtOffset( ack, ack->OPT_offset, ack->OPT_length );
- }
-
- void
- TIDump_T_CONN_RES(T_conn_res *ack)
- {
- dprintf( "OPT_length = %d\n", ack->OPT_length); /* */
- dprintf( "OPT_offset = %d\n", ack->OPT_offset); /* */
- DumpAtOffset( ack, ack->OPT_offset, ack->OPT_length );
- }
-
- void
- TIDump_T_OPTMGMT_ACK(T_optmgmt_ack *ack)
- {
- dprintf( "OPT_length = %d\n", ack->OPT_length); /* */
- dprintf( "OPT_offset = %d\n", ack->OPT_offset); /* */
- DumpAtOffset( ack, ack->OPT_offset, ack->OPT_length );
-
- dprintf( "MGMT_flags = %d\n", ack->MGMT_flags); /* */
- }
-
- void
- TIDump_T_OPTMGMT_REQ(T_optmgmt_req *ack)
- {
- dprintf( "OPT_length = %d\n", ack->OPT_length); /* */
- dprintf( "OPT_offset = %d\n", ack->OPT_offset); /* */
- DumpAtOffset( ack, ack->OPT_offset, ack->OPT_length );
-
- dprintf( "MGMT_flags = %d\n", ack->MGMT_flags); /* */
- }
-
-
- void
- TIDump_T_OK_ACK(T_ok_ack *ack)
- {
- dprintf( "CORRECT_prim = (%s)%d\n", PrimitiveToString(ack->CORRECT_prim), ack->CORRECT_prim); /* */
- }
-
-
- long GetPrimitive(mblk_t* mp)
- // GetPrimitive gets the TPI/DLPI primitive out of a message block.
- // It returns kNoPrimitive if the message block is of the wrong
- // type or there is no primitive.
- //
- // Environment: any standard STREAMS entry point
- {
- if ((mp->b_datap->db_type == M_PROTO || mp->b_datap->db_type == M_PCPROTO) && MBLK_SIZE(mp) >= sizeof(long) ) {
- return ( ( (union T_primitives*) mp->b_rptr)->type );
- } else {
- return ( kNoPrimitive );
- }
- }
-
- void
- MIDump_M_SETOPTS( struct stroptions *options )
- {
- dprintf( "flags = %x\t", options->so_flags );
- if ( options->so_flags == SO_ALL )
- dprintf( "All flags" );
- else
- {
- if ( options->so_flags & SO_READOPT ) dprintf( "Read Mode\t" );
- if ( options->so_flags & SO_WROFF ) dprintf( "Write offset\t" );
- if ( options->so_flags & SO_MINPSZ ) dprintf( "Min Packet Size\t" );
- if ( options->so_flags & SO_MAXPSZ ) dprintf( "Max Packet Size\t" );
- if ( options->so_flags & SO_HIWAT ) dprintf( "High water\t" );
- if ( options->so_flags & SO_LOWAT ) dprintf( "Low water\t" );
- if ( options->so_flags & SO_MREADON ) dprintf( "Request M_READ\t" );
- if ( options->so_flags & SO_MREADOFF ) dprintf( "No M_READ\t" );
- if ( options->so_flags & SO_NDELON ) dprintf( "Old O_NDELAY\t" );
- if ( options->so_flags & SO_NDELOFF ) dprintf( "New O_NDELAY\t" );
- if ( options->so_flags & SO_ISTTY ) dprintf( "Become controlling tty\t" );
- if ( options->so_flags & SO_ISNTTY ) dprintf( "No longer controlling tty\t" );
- if ( options->so_flags & SO_TOSTOP ) dprintf( "Stop on background writes\t" );
- if ( options->so_flags & SO_TONSTOP ) dprintf( "Don't stop on background writes\t" );
- if ( options->so_flags & SO_BAND ) dprintf( "Water marks band\t" );
- if ( options->so_flags & SO_POLL_SET ) dprintf( "Set events\t" );
- if ( options->so_flags & SO_POLL_CLR ) dprintf( "Clear events\t" );
- }
- dprintf( "\n" );
-
- dprintf( "so_wroff = %d\n", options->so_wroff); /* write offset */
- dprintf( "so_minpsz = %d\n", options->so_minpsz); /* minimum read packet size */
- dprintf( "so_maxpsz = %d\n", options->so_maxpsz); /* maximum read packet size */
- dprintf( "so_hiwat = %d\n", options->so_hiwat); /* read queue high-water mark */
- dprintf( "so_lowat = %d\n", options->so_lowat); /* read queue low-water mark */
- dprintf( "so_band = %d\n", options->so_band); /* band for water marks */
- dprintf( "so_poll_set = %d\n", options->so_poll_set); /* poll events to set */
- dprintf( "so_poll_clr = %d\n", options->so_poll_clr); /* poll events to clear */
-
- }
-
- static void
- MIDump_Cred( cred_t *cred )
- {
- if ( cred )
- {
- dprintf( "cr_ref = %d\n", cred->cr_ref );
- dprintf( "cr_ngroups = %d\n", cred->cr_ngroups );
- dprintf( "cr_uid = %d\n", cred->cr_uid );
- dprintf( "cr_gid = %d\n", cred->cr_gid );
- dprintf( "cr_ruid = %d\n", cred->cr_ruid );
- dprintf( "cr_rgid = %d\n", cred->cr_rgid );
- dprintf( "cr_suid = %d\n", cred->cr_suid );
- dprintf( "cr_sgid = %d\n", cred->cr_sgid );
- dprintf( "cr_groups[0] = %d\n", cred->cr_groups[0] );
- }
- else
- dprintf( "cred is null\n" );
- }
-
- void
- MIDump_M_IOCTL( struct iocblk *block)
- {
- dprintf( "ioc_cmd = %x\n", block->ioc_cmd );
- // MIDump_Cred( block->ioc_cr );
- dprintf( "ioc_id = %d\n", block->ioc_id );
- dprintf( "ioc_count = %d\n", block->ioc_count );
- dprintf( "ioc_error = %d\n", block->ioc_error );
- dprintf( "ioc_rval= %d\n", block->ioc_rval );
- }
-
-
-
-
- static void
- DumpIP( IPHeader *packet, Ptr end_packet )
- {
- if ( end_packet < (char *)packet + sizeof(IPHeader) )
- {dprintf( "short packet!!!\n" ); return;}
-
- dprintf( "IP: Dest: %d.%d.%d.%d, Source: %d.%d.%d.%d\n",
- packet->destAddr >> 24,
- (packet->destAddr >> 16) & 0xff,
- (packet->destAddr >> 8) & 0xff,
- (packet->destAddr) & 0xff,
- packet->sourceAddr >> 24,
- (packet->sourceAddr >> 16) & 0xff,
- (packet->sourceAddr >> 8) & 0xff,
- (packet->sourceAddr) & 0xff
- );
-
- dprintf( " ID: %x Time-to-Live: %d, Total Length: %d\n",
- packet->id,
- packet->timeToLive,
- packet->totalLength
- );
-
- }
-
- static void
- DumpUDP( UDPPacket *packet, Ptr end_packet )
- {
- dprintf( "\n\nUDP packet\n" );
-
- DumpIP( &packet->ipHeader, end_packet );
-
- if ( end_packet < (char *)packet + sizeof(UDPPacket) )
- {dprintf( "short packet!!!\n" ); return;}
-
- dprintf( "UDP: Dest: 0x%x Source: 0x%x Len:%d\n",
- packet->destPort,
- packet->sourcePort,
- packet->udpLength
- );
-
- }
-
- static void
- DumpTCP( TCPPacket *packet, Ptr end_packet )
- {
- dprintf( "\n\nTCP packet\n" );
-
- DumpIP( &packet->ipHeader, end_packet );
-
- if ( end_packet < (char *)packet + sizeof(TCPPacket) )
- {dprintf( "short packet!!!\n" ); return;}
-
- dprintf( "TCP: Dest: 0x%x Source: 0x%x\n",
- packet->destPort,
- packet->sourcePort
- );
- dprintmem( (char *)packet + sizeof( TCPPacket ), packet->ipHeader.totalLength-sizeof(TCPPacket) );
-
- }
-
- static void
- DumpData( mblk_t *mp )
- {
- char *ptr, *end_ptr;
- char buffer[10240];
-
- ptr = buffer;
- while ( mp )
- {
- BlockMoveData( mp->b_rptr, ptr, mp->b_wptr - mp->b_rptr );
- dprintf( "%d bytes in block\n", mp->b_wptr - mp->b_rptr );
- ptr += ( mp->b_wptr - mp->b_rptr );
- mp = mp->b_cont;
- }
-
- end_ptr = ptr;
- ptr = buffer;
-
- if ( ((IPHeader *)ptr)->versionAndHeaderLen == 0x45 )
- switch( ((IPHeader *)ptr)->protocol )
- {
- case 0x06:
- DumpTCP( (TCPPacket *)ptr, end_ptr );
- break;
- case 0x11:
- DumpUDP( (UDPPacket *)ptr, end_ptr );
- break;
- default:
- dprintf( "Unknown packet type\n" );
- dprintmem( ptr, end_ptr-ptr );
- break;
- }
- else
- {
- dprintf( "versionAndHeaderLen == %x\n", ((IPHeader *)ptr)->versionAndHeaderLen );
- dprintmem( ptr, end_ptr-ptr );
- }
- }
-
- void Dump_Packet_Type( char *type, mblk_t *mp )
- {
- #ifdef dumpHeaders
- dprintf( "=========\n%s with type %d (%s)\n\t===>primitive %d (%s)\n",
- type,
- mp->b_datap->db_type,
- TypeToString(mp->b_datap->db_type),
- GetPrimitive(mp),
- PrimitiveToString( GetPrimitive(mp) )
- );
-
- #endif
- }
-
- void Dump_Packet( mblk_t*mp )
- {
- #ifndef dumpDetails
- #pragma unused( mp )
- #else
- do {
- switch ( mp->b_datap->db_type )
- {
- #ifdef dumpM_PROTO
- case M_SETOPTS:
- MIDump_M_SETOPTS( (struct stroptions *)mp->b_rptr );
- break;
- case M_IOCACK:
- case M_IOCNAK:
- case M_IOCTL:
- MIDump_M_IOCTL( (struct iocblk *)mp->b_rptr );
- break;
- #endif
- case M_PCSIG:
- dprintmem( mp->b_rptr, mp->b_wptr - mp->b_rptr );
- if ( mp->b_cont )
- dprintf( "There was more\n" );
- break;
- case M_FLUSH:
- dprintf( "Flushing the following (%x):", *mp->b_rptr );
- if ( *mp->b_rptr & FLUSHW )
- dprintf( " write queues" );
- if ( *mp->b_rptr & FLUSHR )
- dprintf( " read queues" );
- if ( *mp->b_rptr & FLUSHBAND )
- dprintf( "Band" );
- dprintf( "\n" );
- break;
- case M_DATA:
- #ifdef dumpM_DATA
- DumpData( mp );
- #else
- dprintmem( mp->b_rptr, mp->b_wptr-mp->b_rptr );
- #endif
- break;
-
- #ifdef dumpM_PROTO
- case M_PROTO:
- case M_PCPROTO:
- switch ( GetPrimitive(mp) )
- {
- case DL_INFO_ACK: DLPIDump_DL_INFO_ACK( (dl_info_ack_t *)mp->b_rptr ); break;
- case DL_BIND_REQ: DLPIDump_DL_BIND_REQ( (dl_bind_req_t *)mp->b_rptr ); break;
- case DL_BIND_ACK: DLPIDump_DL_BIND_ACK( (dl_bind_ack_t *)mp->b_rptr ); break;
- case DL_SUBS_BIND_REQ: DLPIDump_DL_SUBS_BIND_REQ( (dl_subs_bind_req_t *)mp->b_rptr ); break;
- case DL_SUBS_BIND_ACK: DLPIDump_DL_SUBS_BIND_ACK( (dl_subs_bind_ack_t *)mp->b_rptr ); break;
- case DL_SUBS_UNBIND_REQ:DLPIDump_DL_SUBS_UNBIND_REQ( (dl_subs_unbind_req_t *)mp->b_rptr ); break;
- case DL_ENABMULTI_REQ: DLPIDump_DL_ENABMULTI_REQ( (dl_enabmulti_req_t *)mp->b_rptr ); break;
- case DL_OK_ACK: DLPIDump_DL_OK_ACK( (dl_ok_ack_t *)mp->b_rptr ); break;
- case DL_UNITDATA_REQ: DLPIDump_DL_UNITDATA_REQ( (dl_unitdata_req_t *)mp->b_rptr ); break;
- case DL_UNITDATA_IND: DLPIDump_DL_UNITDATA_IND( (dl_unitdata_ind_t *)mp->b_rptr ); break;
- case DL_ERROR_ACK: DLPIDump_DL_ERROR_ACK( (dl_error_ack_t *)mp->b_rptr ); break;
-
- case T_INFO_ACK: TIDump_T_INFO_ACK( (T_info_ack *)mp->b_rptr ); break;
- case T_BIND_REQ: TIDump_T_BIND_REQ( (T_bind_req *)mp->b_rptr ); break;
- case T_BIND_ACK: TIDump_T_BIND_ACK( (T_bind_ack *)mp->b_rptr ); break;
- case T_CONN_CON: TIDump_T_CONN_CON( (T_conn_con *)mp->b_rptr ); break;
- case T_CONN_IND: TIDump_T_CONN_IND( (T_conn_ind *)mp->b_rptr ); break;
- case T_CONN_REQ: TIDump_T_CONN_REQ( (T_conn_req *)mp->b_rptr ); break;
- case T_CONN_RES: TIDump_T_CONN_RES( (T_conn_res *)mp->b_rptr ); break;
- case T_OPTMGMT_ACK: TIDump_T_OPTMGMT_ACK( (T_optmgmt_ack *)mp->b_rptr ); break;
- case T_OPTMGMT_REQ: TIDump_T_OPTMGMT_REQ( (T_optmgmt_req *)mp->b_rptr ); break;
- case T_OK_ACK: TIDump_T_OK_ACK( (T_ok_ack *)mp->b_rptr ); break;
- }
- break;
- #endif
- }
- } while ( (mp = mp->b_cont) != 0 );
- #endif
- }
-